Conversation
mjy926
commented
Jun 24, 2026
Contributor
- 비밀번호 찾기 기능 추가
- 지원 현황 확인 기능 추가
* 특정 recruiting id에 해당하는 지원 결과를 반환하는 api를 구현했습니다.
## 변경 사항 - 비밀번호 찾기/재설정 API 3종 추가 - `POST /api/v3/auth/password-reset/email` - `POST /api/v3/auth/password-reset/verify` - `POST /api/v3/auth/password-reset` - 비밀번호 재설정 인증번호 저장용 `password_reset_verification` 테이블 추가 - OCI Email Delivery SDK 기반 메일 전송 서비스 추가 - 인증번호 생성, 해시 저장, 만료 처리, 시도 횟수 제한, 사용 완료 처리 로직 추가 - 비밀번호 재설정 서비스 테스트 및 메일 SDK payload 테스트 추가 ## 구현 상세 - 인증번호 원문은 DB에 저장하지 않고 `PasswordService`로 해시하여 저장합니다. - 인증번호 유효 시간은 10분입니다. - 인증번호 검증 실패는 최대 5회까지 허용합니다. - 존재하지 않는 이메일로 인증번호 전송 요청이 들어와도 계정 존재 여부가 노출되지 않도록 정상 응답합니다. - 메일 발송은 SMTP credential 없이 `oci.email_data_plane.EmailDPClient.submit_email()`을 사용합니다. - Instance Principal signer 생성이 실패할 때만 로컬 OCI config(`oci.config.from_file()`)로 fallback합니다. - 비밀번호 재설정 인증번호는 DB에 먼저 저장된 뒤 메일로 발송되어, 저장 실패 시 검증 불가능한 코드가 발송되지 않습니다. ## 필요한 운영 설정 OCI Email Delivery를 설정한 뒤 아래 secret/env 값을 등록해야 합니다. ```text email_compartment_id email_from_email email_from_name # optional email_reply_to # optional email_service_endpoint # optional --------- Co-authored-by: 문재영 <152019282+mjy926@users.noreply.github.com>
이름이 중복으로 반환되는 문제가 있어서 id 기준으로도 정렬하도록 수정했습니다.
## Summary - Recreate the password reset fixes on top of develop so the diff is based on the correct target branch - Return UserNotFoundException for unknown password-reset email requests - Improve password reset email payload and sender validation - Reduce reset code TTL from 10 minutes to 5 minutes - Address CodeRabbit feedback for commit timing, row locking, timezone-aware datetimes, settings init, and migration defaults ## Tests - .venv\Scripts\python.exe -m pytest wacruit\src\tests\auth\test_auth_password_reset_service.py wacruit\src\tests\mail\test_mail_service.py - 21 passed, 1 warning ## Notes - Previous PR #141 was closed because its branch history was not based on develop. - Local .env.test OCI mail settings were not included.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
snu-BuMinSeong
approved these changes
Jun 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.